package com.theorydance.esoperator.utils;

import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.List;

/**
 * 将返回的数据按照amis的格式进行包装
 *
 * @Author grand_ranfs
 * @Date 2023/4/19 9:44
 * @Version 1.0
 */
public class AmisWrapper {
    public static <T> JSONObject wrap(T data){
        return wrap(data, "rows");
    }
    public static <T> JSONObject wrap(T data, String key){
        JSONObject json = new JSONObject();
        json.put(key, data);
        return json;
    }
    public static <T> JSONObject pageWrap(List<T> list, Integer page, Integer perPage) {
        JSONObject json = new JSONObject();
        json.put("total", list.size());
        if (page==null || page <= 0 || perPage==null || perPage <= 0) {
            json.put("rows", list);
            return json;
        }
        List<T> items = new ArrayList<>();
        for (int i = (page-1)*perPage; i < page*perPage && i<list.size() ; i++) {
            items.add(list.get(i));
        }
        json.put("rows", items);
        return json;
    }
}

